package com.leetcode.array;

import java.util.Arrays;

/**
 * @author: ZhouBert
 * @date: 2019/9/20
 * @description: [26] 给定一个排序数组，你需要在原地删除重复出现的元素，使得每个元素只出现一次，返回移除后数组的新长度。
 * <p>
 * 不要使用额外的数组空间，你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class RemoveDuplicates26 {


	public static int removeDuplicates(int[] nums) {
		if (nums == null || nums.length == 0) {
			return 0;
		}
		int bIndex = 0;
		for (int i = 1; i < nums.length; i++) {
			if (nums[bIndex] != nums[i]) {
				nums[++bIndex] = nums[i];
			}
		}
		return bIndex + 1;
	}


	public static void main(String[] args) {
		int[] ints = {1, 1, 2};
		ints = new int[]{0, 0, 1, 1, 1, 2, 2, 3, 3, 4};
		System.out.println(removeDuplicates(ints));
		System.out.println(Arrays.toString(ints));
	}

}
